package com.stylefeng.guns.modular.netcar.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.stylefeng.guns.modular.netcar.model.TaskRelease;

import java.util.List;

/**
 * 
 * 任务单-抢（派）单信息 Mapper 接口 
 * @author sasazaixian
 * @Date 2018-10-25 18:13
 */
public interface TaskReleaseMapper extends BaseMapper<TaskRelease> {
    /**
     * 删除任务单-抢（派）单信息
     * @param  taskRelease
     * @return    
     */
    int deleteTaskRelease(TaskRelease taskRelease)throws Exception;
    /**
     * 批量任务单-抢（派）单信息
     * @param ids 主键id数组
     * @return     
     */
    int deleteBatchTaskRelease(String[] ids)throws Exception;
    /**
     * 查询任务单-抢（派）单信息列表
     * @param taskRelease 任务单-抢（派）单信息对象
     * @return      
     */
    List<TaskRelease> selectListTaskRelease(TaskRelease taskRelease)throws Exception;
    /**
     * 分页查询任务单-抢（派）单信息列表
     * @param page  分页对象
     * @param taskRelease 系统操作对象
     * @return
     * @Date 2018-10-02
     */
    List<TaskRelease> selectListTaskRelease(Page page, TaskRelease taskRelease)throws Exception;


    /**
     * 同一个事务 互斥锁查询
     * @param taskRelease 系统操作对象
     * @return     
     */
    List<TaskRelease> selectListTaskReleaseForUpdate(TaskRelease taskRelease)throws Exception;
    /**
     * 通过主键ID查询任务单-抢（派）单信息对象
     * @param id 主键id
     * @return    
     */
    TaskRelease findTaskReleaseById(String id)throws Exception;

    /**
     * 插入任务单-抢（派）单信息
     * @param taskRelease
     * @return   
     */
    int insertTaskRelease(TaskRelease taskRelease) throws Exception ;
    /**
     * 更新任务单-抢（派）单信息
     * @param taskRelease
     * @return     
     */
    int updateTaskRelease(TaskRelease taskRelease) throws Exception ;

    /**
     * 批量更新抢单过程
     * @param taskRelease
     * @return
     */
    int updateTaskReleaseBatch(TaskRelease taskRelease) throws Exception;

}
